package juanca.mole;

import ClasesExtras.handlerDb;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

public class Etapas extends Activity {

	Activity activity;
	Etapas self = this;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.layout_etapas);
		activity = this;

	}

	public void goCalidad(View view) {
		Intent intent = new Intent();
		intent.setClass(this, InicioSesionCalidad.class);
		startActivity(intent);
	}

	public void goTipoProceso(View view) {
		Intent intent = new Intent();
		intent.setClass(this, TipoProceso.class);
		startActivity(intent);
	}

	public void goEntregaMerca(View view) {
		Intent intent = new Intent();
		intent.setClass(this, BuscarCliente.class);
		startActivity(intent);
	}

	public void goPreProd(View view) {
		Intent intent = new Intent();
		intent.setClass(this, PreProduccion.class);
		startActivity(intent);
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.layout_etapas, menu);
		return true;
	}

	@Override
	public boolean onOptionsItemSelected(MenuItem item) {
		// Handle item selection
		switch (item.getItemId()) {
		case R.id.etapa:
			this.agregarDireccionIp();
		}
		return false;
	}

	public void msjDireccionIncorrecta() {
		AlertDialog.Builder mensaje = new AlertDialog.Builder(this);
		mensaje.setIcon(android.R.drawable.ic_dialog_alert);
		mensaje.setTitle(R.string.tituloAlerta);
		mensaje.setMessage(R.string.msjErNoAgregoDir);
		mensaje.setPositiveButton(R.string.btnAceptar, null);
		mensaje.create();
		mensaje.show();
	}

	public void agregarDireccionIp() {
		AlertDialog.Builder alerta = new AlertDialog.Builder(this);
		LayoutInflater layout = this.getLayoutInflater();
		final View inflate = layout.inflate(R.layout.direccion_ip, null);

		final EditText direccion = (EditText) inflate
				.findViewById(R.id.direccion_IP);

		final TextView tvDireccion = (TextView) inflate
				.findViewById(R.id.tvDireccionIp);

		handlerDb db = new handlerDb(activity);
		db.abrir();
		String dir = db.leerTabla3("address");
		if (dir != null) {
			tvDireccion
					.setText(getString(R.string.tvDireccionIp2) + ": " + dir);
			direccion.setText(dir);
		}
		db.cerrar();
		alerta.setTitle(R.string.tituloIngresarIp);
		alerta.setView(inflate);
		alerta.setPositiveButton(R.string.btnAceptar,
				new DialogInterface.OnClickListener() {

					@Override
					public void onClick(DialogInterface dialog, int which) {

						String address = direccion.getText().toString();

						handlerDb db = new handlerDb(activity);
						db.abrir();
						if (db.leerTabla3("address") == null) {
							db.registrarTabla3(address);
							Log.i("Dir-ip", "registra una direccion ip: "
									+ address);
						} else {
							int result;
							result = db.eliminarTabla3();
							if (result == 1) {
								db.registrarTabla3(address);
							}
							Log.i("Dir-ip", "registra una direccion ip: "
									+ address);
						}

						if (db.leerTabla3("address") != null) {
							Context context = self.getApplicationContext();
							CharSequence texto = getString(R.string.msjConectedOn)
									+ " " + db.leerTabla3("address");
							int duration = Toast.LENGTH_LONG;
							Toast T = Toast.makeText(context, texto, duration);
							T.show();
						}
						db.cerrar();
					}
				});

		alerta.setNegativeButton(R.string.btnCancelar, null);

		alerta.create();
		alerta.show();
	}

	@Override
	public boolean onKeyUp(int keyCode, KeyEvent event) {

		if (keyCode == KeyEvent.KEYCODE_BACK) {

			// Salir

			return true;

		}
		// para las demas cosas, se reenvia el evento al listener habitual
		return super.onKeyUp(keyCode, event);
	}

}
